package com.eshop.modules.product.service.dto;

import java.util.Map;
import com.fasterxml.jackson.annotation.JsonProperty;

public class ProductFormatDto
{
    private String sku;
    @JsonProperty("bar_code")
    private String barCode;
    private Double brokerage;
    @JsonProperty("brokerage_two")
    private Double brokerageTwo;
    private Double price;
    @JsonProperty("ot_price")
    private Double otPrice;
    private Double cost;
    private Integer stock;
    private Integer integral;
    private String pic;
    private String value1;
    private String value2;
    private Double volume;
    private Double weight;
    @JsonProperty("pink_price")
    private Double pinkPrice;
    @JsonProperty("pink_stock")
    private Integer pinkStock;
    @JsonProperty("seckill_price")
    private Double seckillPrice;
    @JsonProperty("seckill_stock")
    private Integer seckillStock;
    private Map<String, String> detail;
    
    public static ProductFormatDtoBuilder builder() {
        return new ProductFormatDtoBuilder();
    }
    
    public ProductFormatDto(final String sku, final String barCode, final Double brokerage, final Double brokerageTwo, final Double price, final Double otPrice, final Double cost, final Integer stock, final Integer integral, final String pic, final String value1, final String value2, final Double volume, final Double weight, final Double pinkPrice, final Integer pinkStock, final Double seckillPrice, final Integer seckillStock, final Map<String, String> detail) {
        this.sku = "";
        this.barCode = "";
        this.brokerage = 0.0;
        this.brokerageTwo = 0.0;
        this.price = 0.0;
        this.otPrice = 0.0;
        this.cost = 0.0;
        this.stock = 0;
        this.integral = 0;
        this.pic = "";
        this.value1 = "";
        this.value2 = "";
        this.volume = 0.0;
        this.weight = 0.0;
        this.pinkPrice = 0.0;
        this.pinkStock = 0;
        this.seckillPrice = 0.0;
        this.seckillStock = 0;
        this.sku = sku;
        this.barCode = barCode;
        this.brokerage = brokerage;
        this.brokerageTwo = brokerageTwo;
        this.price = price;
        this.otPrice = otPrice;
        this.cost = cost;
        this.stock = stock;
        this.integral = integral;
        this.pic = pic;
        this.value1 = value1;
        this.value2 = value2;
        this.volume = volume;
        this.weight = weight;
        this.pinkPrice = pinkPrice;
        this.pinkStock = pinkStock;
        this.seckillPrice = seckillPrice;
        this.seckillStock = seckillStock;
        this.detail = detail;
    }
    
    public ProductFormatDto() {
        this.sku = "";
        this.barCode = "";
        this.brokerage = 0.0;
        this.brokerageTwo = 0.0;
        this.price = 0.0;
        this.otPrice = 0.0;
        this.cost = 0.0;
        this.stock = 0;
        this.integral = 0;
        this.pic = "";
        this.value1 = "";
        this.value2 = "";
        this.volume = 0.0;
        this.weight = 0.0;
        this.pinkPrice = 0.0;
        this.pinkStock = 0;
        this.seckillPrice = 0.0;
        this.seckillStock = 0;
    }
    
    public String getSku() {
        return this.sku;
    }
    
    public String getBarCode() {
        return this.barCode;
    }
    
    public Double getBrokerage() {
        return this.brokerage;
    }
    
    public Double getBrokerageTwo() {
        return this.brokerageTwo;
    }
    
    public Double getPrice() {
        return this.price;
    }
    
    public Double getOtPrice() {
        return this.otPrice;
    }
    
    public Double getCost() {
        return this.cost;
    }
    
    public Integer getStock() {
        return this.stock;
    }
    
    public Integer getIntegral() {
        return this.integral;
    }
    
    public String getPic() {
        return this.pic;
    }
    
    public String getValue1() {
        return this.value1;
    }
    
    public String getValue2() {
        return this.value2;
    }
    
    public Double getVolume() {
        return this.volume;
    }
    
    public Double getWeight() {
        return this.weight;
    }
    
    public Double getPinkPrice() {
        return this.pinkPrice;
    }
    
    public Integer getPinkStock() {
        return this.pinkStock;
    }
    
    public Double getSeckillPrice() {
        return this.seckillPrice;
    }
    
    public Integer getSeckillStock() {
        return this.seckillStock;
    }
    
    public Map<String, String> getDetail() {
        return this.detail;
    }
    
    public void setSku(final String sku) {
        this.sku = sku;
    }
    
    @JsonProperty("bar_code")
    public void setBarCode(final String barCode) {
        this.barCode = barCode;
    }
    
    public void setBrokerage(final Double brokerage) {
        this.brokerage = brokerage;
    }
    
    @JsonProperty("brokerage_two")
    public void setBrokerageTwo(final Double brokerageTwo) {
        this.brokerageTwo = brokerageTwo;
    }
    
    public void setPrice(final Double price) {
        this.price = price;
    }
    
    @JsonProperty("ot_price")
    public void setOtPrice(final Double otPrice) {
        this.otPrice = otPrice;
    }
    
    public void setCost(final Double cost) {
        this.cost = cost;
    }
    
    public void setStock(final Integer stock) {
        this.stock = stock;
    }
    
    public void setIntegral(final Integer integral) {
        this.integral = integral;
    }
    
    public void setPic(final String pic) {
        this.pic = pic;
    }
    
    public void setValue1(final String value1) {
        this.value1 = value1;
    }
    
    public void setValue2(final String value2) {
        this.value2 = value2;
    }
    
    public void setVolume(final Double volume) {
        this.volume = volume;
    }
    
    public void setWeight(final Double weight) {
        this.weight = weight;
    }
    
    @JsonProperty("pink_price")
    public void setPinkPrice(final Double pinkPrice) {
        this.pinkPrice = pinkPrice;
    }
    
    @JsonProperty("pink_stock")
    public void setPinkStock(final Integer pinkStock) {
        this.pinkStock = pinkStock;
    }
    
    @JsonProperty("seckill_price")
    public void setSeckillPrice(final Double seckillPrice) {
        this.seckillPrice = seckillPrice;
    }
    
    @JsonProperty("seckill_stock")
    public void setSeckillStock(final Integer seckillStock) {
        this.seckillStock = seckillStock;
    }
    
    public void setDetail(final Map<String, String> detail) {
        this.detail = detail;
    }
    
    public static class ProductFormatDtoBuilder
    {
        private String sku;
        private String barCode;
        private Double brokerage;
        private Double brokerageTwo;
        private Double price;
        private Double otPrice;
        private Double cost;
        private Integer stock;
        private Integer integral;
        private String pic;
        private String value1;
        private String value2;
        private Double volume;
        private Double weight;
        private Double pinkPrice;
        private Integer pinkStock;
        private Double seckillPrice;
        private Integer seckillStock;
        private Map<String, String> detail;
        
        ProductFormatDtoBuilder() {
        }
        
        public ProductFormatDtoBuilder sku(final String sku) {
            this.sku = sku;
            return this;
        }
        
        @JsonProperty("bar_code")
        public ProductFormatDtoBuilder barCode(final String barCode) {
            this.barCode = barCode;
            return this;
        }
        
        public ProductFormatDtoBuilder brokerage(final Double brokerage) {
            this.brokerage = brokerage;
            return this;
        }
        
        @JsonProperty("brokerage_two")
        public ProductFormatDtoBuilder brokerageTwo(final Double brokerageTwo) {
            this.brokerageTwo = brokerageTwo;
            return this;
        }
        
        public ProductFormatDtoBuilder price(final Double price) {
            this.price = price;
            return this;
        }
        
        @JsonProperty("ot_price")
        public ProductFormatDtoBuilder otPrice(final Double otPrice) {
            this.otPrice = otPrice;
            return this;
        }
        
        public ProductFormatDtoBuilder cost(final Double cost) {
            this.cost = cost;
            return this;
        }
        
        public ProductFormatDtoBuilder stock(final Integer stock) {
            this.stock = stock;
            return this;
        }
        
        public ProductFormatDtoBuilder integral(final Integer integral) {
            this.integral = integral;
            return this;
        }
        
        public ProductFormatDtoBuilder pic(final String pic) {
            this.pic = pic;
            return this;
        }
        
        public ProductFormatDtoBuilder value1(final String value1) {
            this.value1 = value1;
            return this;
        }
        
        public ProductFormatDtoBuilder value2(final String value2) {
            this.value2 = value2;
            return this;
        }
        
        public ProductFormatDtoBuilder volume(final Double volume) {
            this.volume = volume;
            return this;
        }
        
        public ProductFormatDtoBuilder weight(final Double weight) {
            this.weight = weight;
            return this;
        }
        
        @JsonProperty("pink_price")
        public ProductFormatDtoBuilder pinkPrice(final Double pinkPrice) {
            this.pinkPrice = pinkPrice;
            return this;
        }
        
        @JsonProperty("pink_stock")
        public ProductFormatDtoBuilder pinkStock(final Integer pinkStock) {
            this.pinkStock = pinkStock;
            return this;
        }
        
        @JsonProperty("seckill_price")
        public ProductFormatDtoBuilder seckillPrice(final Double seckillPrice) {
            this.seckillPrice = seckillPrice;
            return this;
        }
        
        @JsonProperty("seckill_stock")
        public ProductFormatDtoBuilder seckillStock(final Integer seckillStock) {
            this.seckillStock = seckillStock;
            return this;
        }
        
        public ProductFormatDtoBuilder detail(final Map<String, String> detail) {
            this.detail = detail;
            return this;
        }
        
        public ProductFormatDto build() {
            return new ProductFormatDto(this.sku, this.barCode, this.brokerage, this.brokerageTwo, this.price, this.otPrice, this.cost, this.stock, this.integral, this.pic, this.value1, this.value2, this.volume, this.weight, this.pinkPrice, this.pinkStock, this.seckillPrice, this.seckillStock, this.detail);
        }
        
        @Override
        public String toString() {
            return "ProductFormatDto.ProductFormatDtoBuilder(sku=" + this.sku + ", barCode=" + this.barCode + ", brokerage=" + this.brokerage + ", brokerageTwo=" + this.brokerageTwo + ", price=" + this.price + ", otPrice=" + this.otPrice + ", cost=" + this.cost + ", stock=" + this.stock + ", integral=" + this.integral + ", pic=" + this.pic + ", value1=" + this.value1 + ", value2=" + this.value2 + ", volume=" + this.volume + ", weight=" + this.weight + ", pinkPrice=" + this.pinkPrice + ", pinkStock=" + this.pinkStock + ", seckillPrice=" + this.seckillPrice + ", seckillStock=" + this.seckillStock + ", detail=" + this.detail + ")";
        }
    }
}
